热门文章
学习区块链需要懂得什么技术知识呢?
发布时间:2018-08-10 分类:新金融百科
对于区块链,相信很多朋友只是听过看过,然后并不是十分了解。虽然经常听到有人会提到区块链,但真正对区块链了解学习方面,却相对来说有点难度,那么我们在学习区块链技术开发之前,需要掌握什么技术知识呢?下面一起来了解一下。
学习区块链技术必须了解掌握的基础知识
一、网络通信
目前的区块链主要涉及无结构化的点对点通信(P2P);但并不排除未来区块链在联盟链中会衍生为结构化的P2P通信。点对点通信其实是建立起一条虚拟链路,底层对应的物理链路也许随着网络时延抖动的变动(与区块大小、网络状况、区块中交易数量等因素有关)而改变相对的路径。因此,建议夯实网络通信的基础知识。
二、数据存储
以前的数据存储方式很多都是基于面向高吞吐量的键值数据库,如今随着区块链技术的发展,传统的关系型数据库也可以成为存储介质,甚至有的公司开始使用大数据平台(Hadoop+Habse)来构建底层的存储机制。继而下一代分布式版本文件系统(IPFS)也是一个需要跟踪的重要方向;
三、加密技术
主要需要了解哈希函数和非对称加密的基本原理和数字签名的运行机制,更重要的,目前金融系统中用到的都是国密算法,与区块链技术对应SM2、SM3和SM9国密算法需要重点了解;
四、共识机制
最开始流行的是可信任环境中分布式系统的共识机制,主要涉及CAP理论,在保留分区容错性(Partition tolerance)的基础上,数据最终一致性(Consistency)和系统可用性(Availability)之间会存在一个权衡。区块链技术主要强调机制(DPoS),以及后期发展的实用拜占庭容错算法(PBFT)和相关共识算法的持续演进,需要一个长期的实践和跟踪。
五、隐私保护
区块链本身就是基于非对称加密的安全通信。但是,可以根据交易末尾的“特定数字”查询到相应的交易关系,通过核心路由器的路由表、网卡的物理地址(MAC地址)和手机的国际移动设备识别码(IMEI号)等信息追踪交易者的身份信息,破解基于洋葱路由(Tor)的暗网对信息的隐藏。后来,逐渐出现鉴于环签名的门罗币(Monero)、鉴于零知识证明的ZCash和同态加密技术。不论是零知识证明、环签名还是同态加密技术,都有些文辞深奥难懂的,属于一个较大的门类。一般来说,掌握了隐私保护技术,也算是一个区块链专家了。
六、安全技术
主要涉及私钥安全,基于身份的新私钥生成算法或是私钥的保密算法要怎样产生,后期还要跟随研究智能合约的安全性,以太坊区块链会遭到的脆弱性攻击。因此可能还需要熟悉相对应的虚拟化和编译原理等技术去提升智能合约的安全性。
七、跨链技术
是指不同结构、不同类型的区块链互联互通的一种技术。波卡链和宇宙链在业界中是比较有名的,隶属面向异构区块链的跨链技术代表。跨链技术能够分为以区块链自身作为消息传递媒介的波卡链(Polkadot链),通过账本间连接者传递通信消息的瑞波Interledger协议和通过状态通道及路由来支持跨链通信的Aeternity等多个子类。
八、链下技术
如果区块链的每笔交易都在链上完成,性能或许是区块链系统中的一大瓶颈。那么区块链系统的性能要怎么样提升呢?以不采用数字签名验证的方式,大批量的小额支付可以再链下实现,是一个不错的发展方向,这种技术称之为链下技术(如果不好理解的话,就理解成离线批处理技术)。学习区块链的链下技术,可重点关注比特币对应的闪电网络和以太坊对应的雷电网络。
九、衍生技术
例如单链和多链的结合,参考英国数字货币RSCoin;埃森哲推出的可编辑的区块链技术,颠覆无法篡改的本质(银行回滚需要);IOTA推出的基于有向非循环图(DAG)的区块链技术,开始脱离区块链的传统定义,逐步向“分布式账本”技术靠拢。
当然,如果你对区块链技术感兴趣,那么你可以开始学学以上的知识,懂得区块链最基本的原理,多看看编程类的书籍,了解最基本基本的代码,学会进行简单的编程,这对你学习和实践区块链技术开发有极大的帮助,你还可以下载一些常见的区块链,研究它的代码排列,看看它是如何加入合约的,稍微做简单的修改,就能建立自己的智能合约。